package com.yunji.aggregate.model.dto.stock;

import com.yunji.common.base.SqlConcatParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;

import java.util.List;

/**
 * @Project: yunji-coffee
 * @Package: com.yunji.storage.params
 * @Title: StockParams
 * <p>
 * History:
 * Date                     Version     Author          Summary
 * ============================================================
 * 2024-08-16 10:48:43      V1.0        HuaAo       新建类
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class StockParam extends SqlConcatParam {

    @ApiModelProperty("页码")
    private Integer pageNum;

    @ApiModelProperty("数量")
    private Integer pageSize;

    @ApiModelProperty("库存ID")
    private Long stockId;

    @ApiModelProperty("商品ID")
    private Long productId;

    @ApiModelProperty("商品sku")
    @Length(message = "商品sku不能超过{max}个字符", max = 20)
    private String sku;

    @ApiModelProperty("商品名称")
    @Length(message = "商品名称不能超过{max}个字符", max = 30)
    private String productName;

    @ApiModelProperty("商品类型")
    private Integer productType;

    @ApiModelProperty("所属单位")
    private Long belongId;

    @ApiModelProperty("所属单位名称")
    private String belongName;

    @ApiModelProperty("所属父级ID")
    private Long parentId;

    @ApiModelProperty("所属单位Ids")
    private List<Long> belongIds;

    @ApiModelProperty("搜索字段")
    private String searchField;

    @ApiModelProperty("预警状态 0-否 1-是")
    private Integer warmStatus;

    @ApiModelProperty("总库存排序 0-正序 1-倒序")
    private Integer allStockOrder;

    @ApiModelProperty("占用库存排序 0-正序 1-倒序")
    private Integer frozenStockOrder;

    @ApiModelProperty("不可用库存排序 0-正序 1-倒序")
    private Integer disableStockOrder;

    @ApiModelProperty("可用库存排序 0-正序 1-倒序")
    private Integer usableStockOrder;
}